const path = require('path');

const htmlWebpackPlugin = require('html-webpack-plugin');
const VueLoaderPugin = require('vue-loader/lib/plugin');
module.exports = {

    entry: path.join(__dirname,'./src/app.js'), // 入口文件，需要用webpack打包的文件
    
    output: {                                    // 输出相关文件配置
        path: path.join(__dirname,'./dist'),     // 指定打包的输出文件夹
        filename: 'bundle.js'                    // 指定输出文件名
    },
    
    // 配置插件
    plugins: [
        new htmlWebpackPlugin({
            template: path.join(__dirname,'./src/index.html'),
            filename: 'index.html'
        }),
        new VueLoaderPugin()
    ],

    // 用于配置所以的第三方模块加载器
    module: { 
        rules:[
            {   // 配置处理.css 文件夹的第三方loader
                test: /\.css$/,
                use: ['style-loader','css-loader']
            },  
            {   // 配置处理图片路径的loader
                test: /\.(jpg|png|bmp|jpeg)$/,
                use: [
                    {
                        loader:'url-loader',
                        options: {
                            limit: 1024,
                            name: 'public/img/[hash:8]-[name].[ext]'
                        }
                    }
                ]
            }, 
            {
                test: /\.js$/,
                use: 'babel-loader',
                exclude: /node_modules/
            },
            {
                test: /\.vue$/,
                use: 'vue-loader'
            }
        ] 
    },
    mode: "production"
}